package com.sky.mapper;

import com.github.pagehelper.Page;
import com.sky.dto.CountryDTO;
import com.sky.dto.CountryPageQueryDTO;
import com.sky.entity.Country;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.web.bind.annotation.DeleteMapping;

import java.util.List;

@Mapper
public interface CountryMapper {
    /**
     * 新增国家
     * @param country
     */
    @Insert("insert into country(country_name, country_english_name, continent, product_number, create_time, status, image_url) " +
            "VALUES (#{countryName}, #{countryEnglishName}, #{continent}, #{productNumber}, #{createTime}, #{status}, #{imageUrl})")
    void insert(Country country);
    
    /**
     * 修改国家
     * @param country
     */
    void update(Country country);

    /**
     * 删除国家
     * @param id
     */
    @Delete("delete from country where id = #{id}")
    void delete(Long id);

    /**
     * 分页查询国家
     * @param countryPageQueryDTO
     * @return
     */
    Page<Country> page(CountryPageQueryDTO countryPageQueryDTO);

    /**
     * 查询所有国家
     * @return
     */
    List<Country> list();

    @Select("SELECT * FROM country WHERE id = #{id}")  //新增方法
    CountryDTO selectById(Long countryId);
    /**
     * 根据领区id查询国家列表
     * @param regionId 领区id
     * @return 国家列表
     */
    List<Country> getByRegionId(Long regionId);
}
